package com.meatball.iot.common.mqtt.enums

import com.meatball.iot.driver.smokealarm.SmokeAlarmService

/**
 * TODO 路由枚举
 *
 * @property type 标志
 * @property clazz 实现
 *
 * @author 张翔宇
 * @since 2024年6月8日
 */
enum class MqttStrangelyEnum(val type: String, val clazz: Class<*>) {
    SMOKE_ALARM("smokealarm", SmokeAlarmService::class.java);

    companion object {
        fun fromCode(type: String): MqttStrangelyEnum {
            return entries.find { it.type == type } ?: throw IllegalArgumentException("未知的MQTT路由类型代码: $type")
        }
    }
}